Runtime sparse matrix format selection
نویسندگان
چکیده
There exist many storage formats for the in-memory representation of sparse matrices. Choosing the format that yields the quickest processing of any given sparse matrix requires considering the exact non-zero structure of the matrix, as well as the current execution environment. Each of these factors can change at runtime. The matrix structure can vary as computation progresses, while the environment can change due to varying system load, the live migration of jobs across a heterogeneous cluster, etc. This paper describes an algorithm that learns at runtime how to map sparse matrices onto the format which provides the quickest sparse matrix-vector product calculation, and which can adapt to the hardware platform changing underfoot. We show multiplication times reduced by over 10% compared with the best non-adaptive format selection.
منابع مشابه
Towards Automatic Support of Parallel Sparse
In this paper, we present a generic matrix class in Java and a runtime environment with continuous compilations aiming to support automatic parallelization of sparse computations on distributed environments. Our package comes with a collection of matrix classes including operators of dense matrix, sparse matrix, and parallel matrix on distributed memory environments. In our environment, a progr...
متن کاملSMAT: An Input Adaptive Sparse Matrix-Vector Multiplication Auto-Tuner
Sparse matrix vector multiplication (SpMV) is an important kernel in scientific and engineering applications. The previous optimizations are sparse matrix format specific and expose the choice of the best format to application programmers. In this work we develop an auto-tuning framework to bridge gap between the specific optimized kernels and their general-purpose use. We propose an SpMV autot...
متن کاملLarge-Scale Visualization of Sparse Matrices
An efficient algorithm for parallel acquisition of visualization data for large sparse matrices is presented and evaluated both analytically and empirically. The algorithm was designed to be application-independent, i.e., it works with any matrix-processors mapping and with any sparse storage format/scheme. The empirical scalability study of the algorithm was carried on using multiple modern HP...
متن کاملA lightweight optimization selection method for Sparse Matrix-Vector Multiplication
In this paper, we propose an optimization selection methodology for the ubiquitous sparse matrix-vector multiplication (SpMV) kernel. We propose two models that attempt to identify the major performance bottleneck of the kernel for every instance of the problem and then select an appropriate optimization to tackle it. Our first model requires online profiling of the input matrix in order to det...
متن کاملSparse Matrix-Vector Multiplication for the ClearSpeed Accelerator
Sparse matrix-vector multiplication (SpMV), y = A * x, where A is a sparse matrix and x, y are vectors, is a common computational kernel in many application domains that presents challenges for performance optimization. The high ratio of memory operations to computation and the lack of data reuse cause sparse matrix-vector multiplication to be bandwidth intensive. Additionally, the application ...
متن کامل